In an increasingly networked society, users are increasingly employing network-accessible computing resources to perform a variety of tasks formerly performed using local and/or in-house computing resources. For example, a user may purchase computing power, software applications, data storage, and other computing services to meet his or her individual or business needs. As a result, providers of these network-based services face a number of contacts with their users to coordinate the setup, operation, and maintenance of these services, amongst other tasks. Systems such as call centers have been developed as a centralized, scalable mechanism to handle the received volume of user calls across a variety of contexts, including, for example, sales and marketing, technical support, and billing. However, call centers suffer from a variety of shortcomings.
For example, the availability of call center agents is typically based upon predetermined hours. Within these hours, a user that places a call to the call center may speak with a customer service agent. However, some users may over utilize call center resources, inhibiting or delaying other users from opportunities to speak with customer service agents. As a result, the quality of service provided by the call center may suffer, potentially frustrating users who wish to contact a call center agent.